#ifndef __MODBUS_H
#define __MODBUS_H

/*Header file include*/
#include "stm32f10x.h"
#include "user_type_def.h"

#define LOCAL_ADDR 1

// modbusÖ¡½á¹¹
typedef struct {
    u8 slave_addr;          // ´Ó»úµØÖ·
    u8 func_code;           // ¹¦ÄÜÂë
    u16 len;                // Êý¾Ý³¤¶È
    u16 payload_size;       // Êý¾ÝÇø¿Õ¼ä´óÐ¡
    char *payload;          // Êý¾ÝÇøÊ×µØÖ·
}ModbusTypeDef;

// ¶ÔÍâ·ÃÎÊ½Ó¿Ú
bool Modbus_FrameParse(const char *frame_raw, ModbusTypeDef *mod);
bool Modbus_FramePack(const ModbusTypeDef *mod, char *frame_pack);
void parse_error_code(void);

#endif
